package com.fowo.api.model.logistics.provider;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.validator.EnumsString;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 物流商 导入导出辅助模型 */
@Getter
@Setter
public class LogisticsProviderExcelPo {

  @NotBlank(message = "物流商不能为空")
  @Size(max = 50, message = "物流商长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "*物流商")
  private String name;

  @Size(max = 50, message = "联系人长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "联系人")
  private String contacts;

  @Size(max = 50, message = "联系电话长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "联系电话")
  private String phone;

  @Size(max = 50, message = "邮箱长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "邮箱")
  private String mailBox;

  @ExcelProperty(value = "预付比例")
  private java.math.BigDecimal paymentRatio;

  @EnumsString(
    value = { "现结", "月结" },
    message = "结算方式的可用值为 “现结”, “月结” 其中之一"
  )
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "结算方式")
  private String settlementMethod;

  @Size(max = 50, message = "付款日长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "付款日")
  private String settlementNode;

  @Size(max = 50, message = "结算周期长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "结算周期")
  private String settlementCycle;

  @EnumsString(
    value = { "已授权", "未授权" },
    message = "授权状态的可用值为 “已授权”, “未授权” 其中之一"
  )
  @Size(max = 50, message = "授权状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "授权状态")
  private String isEmpower;
}
